package WrittenTest;
import java.util.Scanner;

public class test23 {
    // 删除相邻数字的最大分数
    // 算法原理：动态规划
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int N = (int) 1e4 + 10;
        int[] sum = new int[N];
        // 状态表
        int[] f = new int[N]; // f[i]表示：选到i位置的时候，f[i]位置的值必选
        int[] g = new int[N]; // g[i]表示：选到i位置的时候，g[i]位置的值必不选
        // 将数组中的数字预处理
        for (int i = 0; i < n; i++) {
            int x = in.nextInt();
            sum[x] += x;
        }
        // 状态表示方程
        for (int i = 1; i < N; i++) {
            f[i] = g[i - 1] + sum[i];
            g[i] = Math.max(g[i - 1], f[i - 1]);
        }
        System.out.println(Math.max(f[N - 1], g[N - 1]));
    }
}
